package com.cmeduSystem.common.flow.dao;

import com.cmeduSystem.common.core.base.dao.BaseDaoMapper;
import com.cmeduSystem.common.flow.model.FlowDelegateUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 流程委托用户数据操作接口。
 *
 * @author xulei
 * @date 2025-09-04
 */
public interface FlowDelegateUserMapper extends BaseDaoMapper<FlowDelegateUser> {

    /**
     * 获取过滤后的对象列表。
     *
     * @param filter  主表过滤对象。
     * @param orderBy 排序参数。
     * @return 对象列表。
     */
    List<FlowDelegateUser> getFlowDelegateUserList(
            @Param("filter") FlowDelegateUser filter, @Param("orderBy") String orderBy);

    /**
     * 获取当前用户所委托的用户列表。
     *
     * @param userId    用户Id。
     * @param effective 是否包含有效代理数据。
     * @return 对象列表。
     */
    List<FlowDelegateUser> getFlowDelegateUserListByMyUserId(
            @Param("userId") Long userId, @Param("effective") boolean effective);
}